#include "tstack.h"
#include<iostream>

template <class C> TStack<C>::TStack()
{
(*this).length=20;
(*this).t=new C[length];
(*this).ind=-1;
std::cout<<"S-a apelat constructorul implicit ";
}

template <class C> TStack<C>::~TStack()
{
delete t;
std::cout<<"\nStiva distrusa ";
}

template <class C> TStack<C>::TStack(int length)
{
(*this).length=length;
(*this).t=new C[length];
(*this).ind=-1;
}
template <class C> void TStack<C>::add(C element)
{
if((*this).full())
{
}
else
{
++ind;
t[ind]=element;
}
}
template <class C> void TStack<C>::list()
{
if((*this).empty())
{
}
else
{
std::cout<<"\n Elementele stivei sunt ";
for(int i=0;i<=(*this).ind; i++)
std::cout<<"\n "<<t[i];
}
}

template <class C> bool TStack<C>::empty()
{
if((*this).ind==0)
return true;
else
return false;
}

template <class C> bool TStack<C>::full()
{
if((*this).ind==(*this).length)
return true;
else
return false;
}



